package com.wicket.okrapp.biz.service.dto.req;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddTargetTempReqDto
 * @使用场景
 */
@Data
public class AddTargetTempReqDto extends BaseDto implements Serializable {

  /**
   * 指标模板名称
   */
  @NotNull(message = "指标模板名称不能为空")
  @ApiModelProperty("指标模板名称")
  private String objectiveTemplateName;

  /**
   * 备注
   */
  @ApiModelProperty("备注")
  private String remark;

  /**
   * 简介
   */
  @ApiModelProperty("简介")
  private String objectiveTemplateDesc;

  /**
   * 示例描述
   */
  @NotNull(message = "示例描述不能为空")
  @ApiModelProperty("示例描述")
  private String objectiveTemplate;

  /**
   * 指标业务类型 NUMBER_GROWTH:数量增长型 NUMBER_DECLINE:数量降幅型 PERCENTAGE_GROWTH:百分比增长型 PERCENTAGE_DECLINE:百分比降幅型 PROGRESS:进度型 RATIO_GROWTH:比率增长型 RATIO_DECLINE:比率降幅型 SUBJECTIVE_QUALITATIVE:主观定性
   */
  @NotNull(message = "指标业务类型不能为空")
  @ApiModelProperty("指标业务类型")
  private String objectiveValueType;

  /**
   * 是否左侧比例型 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否左侧比例型")
  private String isLeft;

  /**
   * 单位
   */
  @ApiModelProperty("单位")
  private String unit;

  /**
   * 数字单位
   */
  @ApiModelProperty("数字单位")
  private Double digitalUnit;

  /**
   * 临时锁定 TRUE:是 FALSE:否
   */
  @NotNull(message = "临时锁定不能为空")
  @ApiModelProperty("临时锁定")
  private String isTemporaryLock;

  /**
   * 是否推荐 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否推荐不能为空")
  @ApiModelProperty("是否推荐")
  private String isRecommend;

  /**
   * 标签来源方式 CREATE_SELF:用户创建 LABEL_OTHERS:打标签 MANAGE_CREATE:管理者创建
   */
  @NotNull(message = "标签来源方式不能为空")
  @ApiModelProperty("标签来源方式")
  private String tagSource;

  /**
   * 归属业务场景标识
   */
  @NotNull(message = "归属业务场景标识不能为空")
  @ApiModelProperty("归属业务场景标识")
  private String businessSceneCode;

  /**
   * 归属业务应用标识
   */
  @NotNull(message = "归属业务应用标识不能为空")
  @ApiModelProperty("归属业务应用标识")
  private String bizAppCode;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
